home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr46 / source14.zip / SOURCE.LNG < prev    next >
Text File  |  1993-04-22  |  22KB  |  1,845 lines

  1. ; SOURCE.LNG
  2. ; Copyright Rick Maddy 1992, 1993
  3.  
  4. ; Changes:
  5.  
  6. ; Version 1.01 to 1.1
  7. ;     - Under both dBASE and Clipper, changed the comment position value
  8. ;       from '0' to 'B' for the '*' and 'note' comment markers.
  9.  
  10. ; Version 1.1 to 1.2
  11. ;     - None
  12.  
  13. ; Version 1.2 to 1.3
  14. ;     - Changed keywords and blocks in dBASE and Clipper to be full words.
  15. ;     - Added '#' in column one to C comments so defines and includes are
  16. ;       highlighted.
  17. ;     - Removed Text - End Text block from Clipper.
  18.  
  19. ; Version 1.3 to 1.4
  20. ;     - Removed '#' comment from C.  Did not work well if also had /* */
  21. ;       multiline comment starting on same line.
  22. ;     - Added #define and #include keywords to C.
  23. ;     - Added #if, #endif, #else, #elif, #ifdef, defined keywords to C.
  24. ;     - Added while - enddo block to Clipper.
  25. ;     - Added the RPG/Free language.
  26. ;     - Added the MAKEFILE language.
  27. ;     - Changed all the file extensions to filename patterns.
  28. ;     - Added the ":include:" entries for each language.
  29. ;     - Added the ":pagefeed:" entries for each language.
  30. ;     - Added the ICON language.
  31.  
  32.  
  33. ; This is the default language definition file.  This file should reside in
  34. ; the same directory as SOURCE.EXE.  Feel free to add any additional languages
  35. ; or take ones out you do not use.  You may also change an existing language.
  36. ; Please follow the guidelines outlined in SOURCE.DOC.
  37.  
  38. ;===========================================================================
  39.  
  40. ; Definition for the C and C++ languages - based on ANSI C and AT&T C++.
  41.  
  42. ; Identifiers are made up of letters, numbers, and underscore.
  43. ; Comments are surrounded by /* */ or begin with // and end at end-of-line.
  44. ; Comments may occur anywhere on a line.
  45. ; Strings are placed in double quotes and characters are placed in single
  46. ; quotes.  Both " and ' are escaped by preceding it by a backslash.
  47. ; The only block is the { } pair.
  48. ; C is case specific.
  49.  
  50. beginlang C *.c *.h *.cpp *.hpp
  51. abcdefghijklmnopqrstuvwxyz0123456789_#
  52. :comment:
  53. //
  54.  
  55. 0
  56. /*
  57. */
  58. 0
  59. :string:
  60. "
  61. \
  62. '
  63. \
  64. :block:
  65. {
  66. }
  67. :keyword:
  68. auto
  69. break
  70. case
  71. char
  72. catch
  73. class
  74. const
  75. continue
  76. default
  77. #define
  78. defined
  79. delete
  80. do
  81. double
  82. #elif
  83. #else
  84. else
  85. #endif
  86. enum
  87. extern
  88. float
  89. for
  90. friend
  91. goto
  92. #if
  93. #ifdef
  94. if
  95. #include
  96. inline
  97. int
  98. long
  99. new
  100. operator
  101. #pragma
  102. private
  103. protected
  104. public
  105. register
  106. return
  107. short
  108. signed
  109. sizeof
  110. static
  111. struct
  112. switch
  113. template
  114. this
  115. typedef
  116. union
  117. unsigned
  118. virtual
  119. void
  120. volatile
  121. while
  122. :include:
  123. #include <
  124. >
  125.  
  126. .
  127.  
  128. #include "
  129. "
  130.  
  131. .
  132.  
  133. :pagefeed:
  134. endlang case full
  135.  
  136. ;===========================================================================
  137.  
  138. ; Definition for the Pascal language - based on Turbo Pascal 6.0.
  139.  
  140. ; Identifiers are made up of letters, numbers, and underscore.
  141. ; Comments are surrounded by the { } or the (* *) pairs.  Comments may
  142. ; occur anywhere on a line.
  143. ; Strings and characters are placed within single quotes.  A literal single
  144. ; quote is escaped by another single quote.
  145. ; Numerous blocks exists:  begin end, record end, case end, repeat until
  146. ; Pascal is not case specfic and all keywords must be found in full.
  147.  
  148. ; Note - There is a conflict with variant record types.  The syntax of this
  149. ; record has the keyword 'case' in it.  This conflicts if the 'case' - 'end'
  150. ; block is defined.  When SOURCE comes across the variant record 'case', it
  151. ; begins a block until an 'end' is found.  The 'end' usually found is the
  152. ; 'end' for the 'record' block.  Now no 'end' is found for the 'record'.
  153. ; If you have variant record declarations, remove the 'case' - 'end' block
  154. ; defined below.  If you do not have variant records, then leave as is.
  155.  
  156. beginlang Pascal *.pas *.inc
  157. abcdefghijklmnopqrstuvwxyz0123456789_
  158. :comment:
  159. {
  160. }
  161. 0
  162. (*
  163. *)
  164. 0
  165. :string:
  166. '
  167. '
  168. :block:
  169. begin
  170. end
  171. record
  172. end
  173. case
  174. end
  175. repeat
  176. until
  177. :keyword:
  178. and
  179. asm
  180. array
  181. begin
  182. case
  183. const
  184. constructor
  185. destructor
  186. div
  187. do
  188. downto
  189. else
  190. end
  191. file
  192. for
  193. function
  194. goto
  195. if
  196. implementation
  197. in
  198. inline
  199. interface
  200. label
  201. mod
  202. nil
  203. not
  204. object
  205. of
  206. or
  207. packed
  208. procedure
  209. program
  210. record
  211. repeat
  212. set
  213. shl
  214. shr
  215. string
  216. then
  217. to
  218. type
  219. unit
  220. until
  221. uses
  222. var
  223. while
  224. with
  225. xor
  226. :include:
  227. {$I
  228. }
  229.  
  230. .
  231. .pas
  232. :pagefeed:
  233. endlang nocase full
  234.  
  235. ;===========================================================================
  236.  
  237. ; Language definition for GW-BASIC.
  238.  
  239. ; The 'if ... end if' block was not added because the 'if' statement has two
  240. ; syntaxes.  The first is 'if ... then ... [else ...]'.  This has no 'end if'.
  241. ; SOURCE would see the 'if' and begin the block.  Since no 'end if' is present,
  242. ; the block line would never be terminated.
  243.  
  244. ; Identifiers are madeup of letters, numbers, period, pound, and dollar.
  245. ; Comments begin with a single quote or the word rem and both are
  246. ; terminated by end-of-line.
  247. ; Strings are enclosed in double quotes.
  248. ; Two blocks exist:  for next, while wend
  249. ; BASIC is not case sensitive and keywords must match in full.
  250. ; Only statements and commands are listed under keywords, no functions or
  251. ; variables.  They may be added if desired.
  252.  
  253. beginlang GW-BASIC *.bas
  254. abcdefghijklmnopqrstuvwxyz0123456789.#$
  255. :comment:
  256. '
  257.  
  258. 0
  259. rem
  260.  
  261. 0
  262. :string:
  263. "
  264.  
  265. :block:
  266. for
  267. next
  268. while
  269. wend
  270. :keyword:
  271. auto
  272. beep
  273. bload
  274. bsave
  275. call
  276. chain
  277. chdir
  278. circle
  279. clear
  280. close
  281. cls
  282. color
  283. com
  284. common
  285. cont
  286. data
  287. def fn
  288. defint
  289. defsng
  290. defdbl
  291. defstr
  292. def seg
  293. def usr
  294. delete
  295. dim
  296. draw
  297. edit
  298. else
  299. end
  300. environ
  301. erase
  302. error
  303. field
  304. files
  305. for
  306. get
  307. gosub
  308. return
  309. goto
  310. if
  311. input
  312. input#
  313. ioclt
  314. key
  315. kill
  316. let
  317. line
  318. list
  319. llist
  320. load
  321. locate
  322. lock
  323. lprint
  324. lprint using
  325. lset
  326. rset
  327. merge
  328. mid$
  329. mkdir
  330. name
  331. next
  332. new
  333. on
  334. open
  335. option base
  336. out
  337. paint
  338. palette
  339. palette using
  340. pcopy
  341. pen
  342. play
  343. poke
  344. preset
  345. pset
  346. print
  347. print using
  348. print#
  349. print# using
  350. put
  351. randomize
  352. read
  353. rem
  354. renum
  355. reset
  356. restore
  357. resume
  358. return
  359. rmdir
  360. run
  361. save
  362. screen
  363. shell
  364. sound
  365. stop
  366. strig
  367. swap
  368. system
  369. then
  370. timer
  371. tron
  372. troff
  373. unlock
  374. view
  375. view print
  376. wait
  377. wend
  378. while
  379. width
  380. window
  381. write
  382. write#
  383. :include:
  384. chain "
  385. "
  386.  
  387. .
  388.  
  389. :pagefeed:
  390. endlang nocase full
  391.  
  392. ;===========================================================================
  393.  
  394. ; Language definition for Ada based on ANSI/MIL-STD-1815A-1983
  395.  
  396. ; Identifiers are made up of letters, numbers, and underscore.
  397. ; Comments begin with the double hyphen and end at end-of-line.  Comments
  398. ; may appear anywhere on a line.
  399. ; Strings are enclosed in double qoutes.  Literal double qoutes are preceded
  400. ; by another double quote.  Characters are enclosed in single quotes.
  401. ; Numerous blocks exist:  begin end, if end if, case end case, loop end loop,
  402. ;                         record end record, package end, task end, 
  403. ;                         select end select, while end loop, accept end
  404. ; Ada is case insensitive and keywords must match in full.
  405.  
  406. beginlang Ada *.ada
  407. abcdefghijklmnopqrstuvwxyz0123456789_
  408. :comment:
  409. --
  410.  
  411. 0
  412. :string:
  413. "
  414. "
  415. '
  416.  
  417. :block:
  418. begin
  419. end
  420. if
  421. end if
  422. case
  423. end case
  424. loop
  425. end loop
  426. record
  427. end record
  428. package
  429. end
  430. task
  431. end
  432. select
  433. end select
  434. accept
  435. end
  436. :keyword:
  437. abort
  438. abs
  439. accept
  440. access
  441. all
  442. and
  443. array
  444. at
  445. begin
  446. body
  447. case
  448. constant
  449. declare
  450. delay
  451. delta
  452. digits
  453. do
  454. else
  455. elsif
  456. end
  457. entry
  458. exception
  459. exit
  460. for
  461. function
  462. generic
  463. goto
  464. if
  465. in
  466. is
  467. limited
  468. loop
  469. mod
  470. new
  471. not
  472. null
  473. of
  474. or
  475. others
  476. out
  477. package
  478. pragma
  479. private
  480. procedure
  481. raise
  482. range
  483. record
  484. rem
  485. renames
  486. return
  487. reverse
  488. select
  489. separate
  490. subtype
  491. task
  492. terminate
  493. then
  494. type
  495. use
  496. when
  497. while
  498. with
  499. xor
  500. :include:
  501. :pagefeed:
  502. pragma page
  503. endlang nocase full
  504.  
  505. ;===========================================================================
  506.  
  507. ; Language definition for FORTRAN 77 - based on Microsoft FORTRAN.
  508.  
  509. ; Identifiers are made up of letters and numbers.
  510. ; Comments are started by having a C or an asterik in column 1 and end with
  511. ; end-of-line.
  512. ; Strings are enclosed in single quotes.  Literal single qoutes are preceded
  513. ; by another single quote.
  514. ; Three blocks:  program end, funtion end, subroutine end
  515. ; FORTRAN is not case sensitive and keywords must match in full.
  516.  
  517. beginlang FORTRAN *.for
  518. abcdefghijklmnopqrstuvwxyz0123456789
  519. :comment:
  520. c
  521.  
  522. 1
  523. *
  524.  
  525. 1
  526. :string:
  527. '
  528. '
  529. :block:
  530. program
  531. end
  532. function
  533. end
  534. subroutine
  535. end
  536. :keyword:
  537. assign
  538. backspace
  539. block data
  540. call
  541. character
  542. close
  543. common
  544. complex
  545. continue
  546. data
  547. dimension
  548. do
  549. double precision
  550. else
  551. elseif
  552. end
  553. endfile
  554. endif
  555. equivalence
  556. external
  557. format
  558. function
  559. goto
  560. go to
  561. if
  562. then
  563. implicit
  564. integer
  565. inquire
  566. intrinsic
  567. logical
  568. open
  569. parameter
  570. pause
  571. program
  572. read
  573. real
  574. return
  575. rewind
  576. save
  577. step
  578. subroutine
  579. write
  580. :include:
  581. :pagefeed:
  582. endlang nocase full
  583.  
  584. ;===========================================================================
  585.  
  586. ; Language definition for assembly language programs
  587.  
  588. ; Identifiers are made up of letters, numbers, underscor, at, dollar, and 
  589. ; question mark.
  590. ; Comments start with a semicolon and end at end-of-line.  Comments may
  591. ; begin any where on the line.
  592. ; Strings are enclosed in single quotes.
  593. ; There are no blocks.
  594. ; Keywords not entered since they are processor specific, add yours as
  595. ; desired.
  596.  
  597. beginlang Assembly *.asm
  598. abcdefghijklmnopqrstuvwxyz0123456789_@$?
  599. :comment:
  600. ;
  601.  
  602. 0
  603. :string:
  604. '
  605. '
  606. :block:
  607. :keyword:
  608. :include:
  609. :pagefeed:
  610. endlang nocase full
  611.  
  612. ;===========================================================================
  613.  
  614. ; Language definition for dBASE III programs
  615.  
  616. ; Identifiers are made up of letters, numbers, and underscore.
  617. ; Comments begin with and asterik, double ampersand, or the word note.
  618. ; All end with end-of-line and may begin anywhere on a line.
  619. ; Strings are enclosed within double qoutes.
  620. ; Blocks are:  do case endcase, do while enddo, if endif, text endtext
  621. ;   For Next is not listed because contructs like 'locate for ...' cause
  622. ;   problems.
  623. ; dBASE is case insensitive and only the first four letters of keywords need
  624. ; to be found.
  625.  
  626. beginlang dBASE *.prg
  627. abcdefghijklmnopqrstuvwxyz0123456789_
  628. :comment:
  629. *
  630.  
  631. B
  632. &&
  633.  
  634. 0
  635. note
  636.  
  637. B
  638. :string:
  639. "
  640.  
  641. '
  642.  
  643. :block:
  644. do case
  645. endcase
  646. do while
  647. enddo
  648. if
  649. endif
  650. text
  651. endtext
  652. :keyword:
  653. accept
  654. additive
  655. alias
  656. all
  657. all like
  658. alternate
  659. append
  660. append from
  661. assist
  662. average
  663. before
  664. blank
  665. bottom
  666. browse
  667. call
  668. cancel
  669. case
  670. change
  671. clear
  672. clear all
  673. clear fields
  674. clear gets
  675. clear memory
  676. clear typeahead
  677. close
  678. continue
  679. copy
  680. copy file
  681. copy structure
  682. count
  683. create
  684. create label
  685. create query
  686. create report
  687. create screen
  688. create view
  689. databases
  690. delete
  691. delete file
  692. delimited
  693. dif
  694. dir
  695. display
  696. display history
  697. display memory
  698. display status
  699. display struture
  700. do
  701. do case
  702. do while
  703. double
  704. edit
  705. eject
  706. else
  707. endcase
  708. enddo
  709. endif
  710. endtext
  711. environment
  712. erase
  713. except
  714. exit
  715. export
  716. fields
  717. find
  718. for
  719. format
  720. freeze
  721. from
  722. from environment
  723. get
  724. go
  725. goto
  726. heading
  727. help
  728. if
  729. import
  730. index
  731. input
  732. insert
  733. join
  734. label form
  735. last
  736. like
  737. list
  738. list history
  739. list memory
  740. list status
  741. list structure
  742. load
  743. locate
  744. lock
  745. loop
  746. modify command
  747. modify file
  748. modify label
  749. modify query
  750. modify report
  751. modify screen
  752. modify structure
  753. modify view
  754. module
  755. noappend
  756. noeject
  757. nofollow
  758. nomenu
  759. note
  760. off
  761. on
  762. on error
  763. on escape
  764. on key
  765. otherwise
  766. pack
  767. parameters
  768. pfs
  769. picture
  770. plain
  771. private
  772. procedure
  773. public
  774. quit
  775. random
  776. range
  777. read
  778. recall
  779. reindex
  780. release
  781. rename
  782. replace
  783. report form
  784. restore from
  785. resume
  786. retry
  787. return
  788. return to master
  789. run
  790. sample
  791. save
  792. save to
  793. say
  794. sdf
  795. seek
  796. select
  797. set
  798. set alternate
  799. set bell
  800. set carry
  801. set catalog
  802. set century
  803. set color
  804. set confirm
  805. set console
  806. set date
  807. set debug
  808. set decimals
  809. set default to
  810. set deleted
  811. set delimiters
  812. set device to print
  813. set device to screen
  814. set dohistory
  815. set echo
  816. set escape
  817. set exact
  818. set fields
  819. set filter
  820. set fixed
  821. set format
  822. set function
  823. set heading
  824. set help
  825. set history
  826. set index
  827. set intensity
  828. set margin
  829. set memowidth
  830. set menu
  831. set message
  832. set odometer
  833. set order
  834. set path
  835. set print
  836. set procedure
  837. set relation
  838. set safety
  839. set scoreboard
  840. set status
  841. set step
  842. set talk
  843. set title
  844. set typeahead
  845. set unique
  846. set view
  847. skip
  848. sort
  849. store
  850. structure extended
  851. sum
  852. summary
  853. suspend
  854. sylk
  855. text
  856. to
  857. to file
  858. to print
  859. top
  860. total
  861. type
  862. unique
  863. update on
  864. use
  865. wait
  866. while
  867. width
  868. with
  869. wks
  870. zap
  871. :include:
  872. :pagefeed:
  873. endlang nocase part 4
  874.  
  875. ;===========================================================================
  876.  
  877. ; Language definition for MS-DOS Batch files
  878.  
  879. ; Identifiers are made up of letters, numbers, and underscore.
  880. ; Comments begin with the word rem and end at end-of-line.  Comments may
  881. ; appear anywhere on a line.
  882. ; Strings are enclosed in double quotes.
  883. ; There are no blocks.
  884. ; Only batch file specific keywords are listed.  Feel free to add all DOS
  885. ; commands if desired.
  886. ; Batch files are case insensitive and keywords must match in full.
  887.  
  888. beginlang Batch *.bat
  889. abcdefghijklmnopqrstuvwxyz0123456789_
  890. :comment:
  891. rem
  892.  
  893. 0
  894. :string:
  895. "
  896.  
  897. :block:
  898. :keyword:
  899. call
  900. echo
  901. for
  902. goto
  903. if
  904. pause
  905. rem
  906. shift
  907. :include:
  908. :pagefeed:
  909. endlang nocase full
  910.  
  911. ;===========================================================================
  912.  
  913. ; Language definition for COBOL based on Microsoft COBOL
  914.  
  915. ; Identifiers are made up of letters, numbers, and hyphen.
  916. ; Comments begin with an asterik, slash or D in column 7 and end with
  917. ; end-of-line.
  918. ; Strings are enclosed in single or double quotes.  A literal quote is 
  919. ; preceded by itself.
  920. ; Cobol has no blocks
  921.  
  922. beginlang COBOL *.cob *.cbl
  923. abcdefghijklmnopqrstuvwxyz0123456789-
  924. :comment:
  925. *
  926.  
  927. 7
  928. /
  929.  
  930. 7
  931. D
  932.  
  933. 7
  934. :string:
  935. "
  936. "
  937. '
  938. '
  939. :block:
  940. :keyword:
  941. accept
  942. access
  943. add
  944. advancing
  945. after
  946. all
  947. alphabetic
  948. also
  949. alter
  950. alternate
  951. and
  952. are
  953. area
  954. areas
  955. ascending
  956. ascii
  957. assign
  958. at
  959. author
  960. auto-skip
  961. automatic
  962. background-color
  963. beep
  964. before
  965. bell
  966. blank
  967. blink
  968. block
  969. bottom
  970. by
  971. call
  972. cancel
  973. cd
  974. cf
  975. ch
  976. chain
  977. chaining
  978. character
  979. characters
  980. clock-units
  981. close
  982. cobol
  983. code
  984. code-set
  985. col
  986. collating
  987. column
  988. comma
  989. communication
  990. comp
  991. communication-0
  992. comp-0
  993. communication-3
  994. comp-3
  995. communication-4
  996. comp-4
  997. computational
  998. compute
  999. configuration
  1000. contains
  1001. control
  1002. controls
  1003. copy
  1004. corr
  1005. corresponding
  1006. count
  1007. currency
  1008. data
  1009. date
  1010. date-compiled
  1011. date-written
  1012. day
  1013. debug-contents
  1014. debug-item
  1015. debug-line
  1016. debug-name
  1017. debug-sub-1
  1018. debug-sub-2
  1019. debug-sub-3
  1020. debugging
  1021. decimal-point
  1022. declaratives
  1023. delete
  1024. delimited
  1025. delimiter
  1026. depending
  1027. descending
  1028. destination
  1029. de
  1030. detail
  1031. disable
  1032. disk
  1033. display
  1034. division
  1035. down
  1036. duplicates
  1037. dynamic
  1038. egi
  1039. eject
  1040. else
  1041. emi
  1042. empty-check
  1043. enable
  1044. end
  1045. end-of-page
  1046. enter
  1047. environment
  1048. eop
  1049. equal
  1050. erase
  1051. error
  1052. escape
  1053. esi
  1054. every
  1055. exception
  1056. exclusive
  1057. exhibit
  1058. exit
  1059. extend
  1060. fd
  1061. file
  1062. file-control
  1063. file-id
  1064. filler
  1065. final
  1066. first
  1067. footing
  1068. for
  1069. foreground-color
  1070. from
  1071. generate
  1072. giving
  1073. go
  1074. greater
  1075. group
  1076. heading
  1077. high-value
  1078. high-values
  1079. highlight
  1080. i-o
  1081. i-o-control
  1082. identification
  1083. if
  1084. in
  1085. index
  1086. indexed
  1087. initial
  1088. initiate
  1089. input
  1090. input-output
  1091. inspect
  1092. installation
  1093. into
  1094. invalid
  1095. is
  1096. just
  1097. justified
  1098. key
  1099. label
  1100. last
  1101. leading
  1102. left
  1103. left-justify
  1104. length
  1105. length-check
  1106. less
  1107. limit
  1108. limits
  1109. lin
  1110. linage
  1111. linage-counter
  1112. line
  1113. lines
  1114. line-counter
  1115. linkage
  1116. lock
  1117. locking
  1118. low-value
  1119. low-values
  1120. manual
  1121. memory
  1122. merge
  1123. message
  1124. mode
  1125. modules
  1126. move
  1127. multiple
  1128. multiply
  1129. native
  1130. negative
  1131. next
  1132. no
  1133. no-echo
  1134. not
  1135. number
  1136. numeric
  1137. object-computer
  1138. occurs
  1139. of
  1140. off
  1141. omitted
  1142. on
  1143. open
  1144. optional
  1145. or
  1146. organization
  1147. output
  1148. overflow
  1149. page
  1150. page-counter
  1151. perform
  1152. pf
  1153. ph
  1154. pic
  1155. picture
  1156. plus
  1157. pointer
  1158. position
  1159. positive
  1160. printer
  1161. printing
  1162. procedure
  1163. procedures
  1164. proceed
  1165. program
  1166. program-id
  1167. prompt
  1168. queue
  1169. quote
  1170. quotes
  1171. random
  1172. rd
  1173. read
  1174. ready
  1175. receive
  1176. record
  1177. records
  1178. redefines
  1179. reel
  1180. references
  1181. relative
  1182. release
  1183. remainder
  1184. removal
  1185. renames
  1186. replacing
  1187. report
  1188. reports
  1189. reporting
  1190. rerun
  1191. reserve
  1192. reset
  1193. return
  1194. reverse-video
  1195. reversed
  1196. rewind
  1197. rewrite
  1198. rf
  1199. rh
  1200. right
  1201. right-justify
  1202. round
  1203. run
  1204. same
  1205. sd
  1206. search
  1207. section
  1208. security
  1209. segment
  1210. segment-limit
  1211. select
  1212. send
  1213. sentence
  1214. separate
  1215. sequence
  1216. sequential
  1217. set
  1218. sign
  1219. size
  1220. sort
  1221. sort-merge
  1222. source
  1223. source-computer
  1224. space
  1225. spaces
  1226. space-fill
  1227. special-names
  1228. standard
  1229. standard-1
  1230. start
  1231. status
  1232. stop
  1233. string
  1234. sub-queue-1
  1235. sub-queue-2
  1236. sub-queue-3
  1237. subtract
  1238. sum
  1239. suppress
  1240. symbolic
  1241. sync
  1242. synchronized
  1243. table
  1244. tallying
  1245. tape
  1246. terminal
  1247. terminate
  1248. text
  1249. than
  1250. through
  1251. thru
  1252. time
  1253. times
  1254. to
  1255. top
  1256. trace
  1257. trailing
  1258. trailing-sign
  1259. type
  1260. underline
  1261. unit
  1262. unlock
  1263. unstring
  1264. until
  1265. up
  1266. update
  1267. upon
  1268. usage
  1269. use
  1270. using
  1271. value
  1272. values
  1273. varying
  1274. wait
  1275. when
  1276. with
  1277. words
  1278. working-storage
  1279. write
  1280. zeros
  1281. zeroes
  1282. zero-fill
  1283. :include:
  1284. copy
  1285.  
  1286. .
  1287. .
  1288.  
  1289. :pagefeed:
  1290. endlang nocase full
  1291.  
  1292. ;===========================================================================
  1293.  
  1294. ; Language definition for Clipper 5.0 programs
  1295.  
  1296. ; Identifiers are made up of letters, numbers, and underscore.
  1297. ; Comments are enclosed in /* */ or begin with //, *, &&, or note and end
  1298. ; with end-of-line.
  1299. ; Strings are enclosed withing double qoutes or single quotes.
  1300. ; Clipper is case insensitive and only the first four letters of keywords
  1301. ; need to be found.
  1302.  
  1303. ; Note - The 'for' - 'next' block is not listed because contructs like 
  1304. ; 'locate for' cause problems.
  1305.  
  1306. beginlang Clipper *.prg
  1307. abcdefghijklmnopqrstuvwxyz0123456789_
  1308. :comment:
  1309. *
  1310.  
  1311. B
  1312. //
  1313.  
  1314. 0
  1315. /*
  1316. */
  1317. 0
  1318. &&
  1319.  
  1320. 0
  1321. note
  1322.  
  1323. B
  1324. :string:
  1325. "
  1326.  
  1327. '
  1328.  
  1329. :block:
  1330. begin sequence
  1331. end
  1332. do case
  1333. endcase
  1334. do while
  1335. enddo
  1336. while
  1337. end
  1338. while
  1339. enddo
  1340. if
  1341. endif
  1342. :keyword:
  1343. abs
  1344. asc
  1345. at
  1346. begin sequence
  1347. bof
  1348. break
  1349. case
  1350. cdow
  1351. chr
  1352. cmonth
  1353. col
  1354. ctod
  1355. date
  1356. day
  1357. declare
  1358. deleted
  1359. devpos
  1360. do
  1361. do case
  1362. do while
  1363. dow
  1364. dtoc
  1365. dtos
  1366. else
  1367. elseif
  1368. empty
  1369. end
  1370. endcase
  1371. enddo
  1372. endif
  1373. endtext
  1374. eof
  1375. exit
  1376. exp
  1377. external
  1378. fcount
  1379. field
  1380. fieldname
  1381. file
  1382. flock
  1383. for
  1384. found
  1385. function
  1386. if
  1387. iif
  1388. inkey
  1389. int
  1390. lastrec
  1391. len
  1392. local
  1393. lock
  1394. log
  1395. loop
  1396. lower
  1397. ltrim
  1398. max
  1399. memvar
  1400. min
  1401. month
  1402. next
  1403. otherwise
  1404. parameters
  1405. pcol
  1406. pcount
  1407. private
  1408. procedure
  1409. prow
  1410. public
  1411. reccount
  1412. recover
  1413. recno
  1414. replicate
  1415. return
  1416. rlock
  1417. round
  1418. row
  1419. rtrim
  1420. seconds
  1421. select
  1422. setpos
  1423. space
  1424. sqrt
  1425. static
  1426. step
  1427. str
  1428. substr
  1429. time
  1430. to
  1431. transform
  1432. trim
  1433. type
  1434. upper
  1435. using
  1436. val
  1437. valtype
  1438. with
  1439. while
  1440. word
  1441. year
  1442. :include:
  1443. #include "
  1444. "
  1445.  
  1446. .
  1447. .ch
  1448. :pagefeed:
  1449. endlang nocase part 4
  1450.  
  1451. ;===========================================================================
  1452.  
  1453. ; Definition of the RPG/Free Language
  1454. ;
  1455. ; From Paul Conte, Eugene Oregon
  1456. ;
  1457.  
  1458. beginlang rpg/free *.rpf *.rpi
  1459. ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_/-
  1460. :comment:
  1461. --
  1462.  
  1463. 0
  1464. H*
  1465.  
  1466. 0
  1467. F*
  1468.  
  1469. 0
  1470. E*
  1471.  
  1472. 0
  1473. I*
  1474.  
  1475. 0
  1476. C*
  1477.  
  1478. 0
  1479. O*
  1480.  
  1481. 0
  1482. T*
  1483.  
  1484. 0
  1485. L*
  1486.  
  1487. 0
  1488. :string:
  1489. '
  1490. '
  1491. :block:
  1492. BEGSR
  1493. ENDSR
  1494. BEGSR
  1495. END
  1496. CASE
  1497. ENDCS
  1498. CASE
  1499. END
  1500. DO
  1501. ENDDO
  1502. DO
  1503. END
  1504. FOR
  1505. ENDFOR
  1506. FOR
  1507. END
  1508. IF
  1509. ENDIF
  1510. IF
  1511. END
  1512. LOOP
  1513. ENDLOOP
  1514. LOOP
  1515. END
  1516. SELECT
  1517. ENDSELECT
  1518. SELECT
  1519. ENDSL
  1520. SELECT
  1521. END
  1522. UNTIL
  1523. ENDUNTIL
  1524. UNTIL
  1525. END
  1526. WHILE
  1527. ENDWHILE
  1528. WHILE
  1529. END
  1530. :keyword:
  1531. /AUTORPT
  1532. /CALC
  1533. /CONTROL
  1534. /COPY
  1535. /DATA
  1536. /DEFINE
  1537. /DUMPMAC
  1538. /EJECT
  1539. /ELSE
  1540. /ELSEIF
  1541. /END-EXEC
  1542. /ENDIF
  1543. /ERROR
  1544. /EXEC
  1545. /EXT
  1546. /EXTENSION
  1547. /FILE
  1548. /FIRSTCOL
  1549. /FIX
  1550. /FREE
  1551. /HEADER
  1552. /IF DEFINED
  1553. /IF NOT DEFINED
  1554. /INCLUDE
  1555. /INCLUDEF
  1556. /INPUT
  1557. /LINE
  1558. /MESSAGE
  1559. /OUTPUT
  1560. /PRINT
  1561. /SKIP
  1562. /SPACE
  1563. /TELCOM
  1564. /TITLE
  1565. /UNDEFINE
  1566. ACQ
  1567. ACQUIRE
  1568. ADD
  1569. BEGSR
  1570. BITOF
  1571. BITOFF
  1572. BITON
  1573. BREAK
  1574. CAB
  1575. CALL
  1576. CAS
  1577. CASE
  1578. CAT
  1579. CATST
  1580. CATSTR
  1581. CHAIN
  1582. CHECK
  1583. CKDT
  1584. CLEAR
  1585. CLOSE
  1586. COMIT
  1587. COMMIT
  1588. COMP
  1589. COMPARE
  1590. CONTINUE
  1591. CVDT
  1592. DCL
  1593. DEBUG
  1594. DEFINE
  1595. DEFINED
  1596. DEFN
  1597. DELET
  1598. DELETE
  1599. DISPLAY
  1600. DIV
  1601. DIVIDE
  1602. DO
  1603. DOUEQ
  1604. DOUGT
  1605. DOULT
  1606. DOUGE
  1607. DOULE
  1608. DOUNE
  1609. DOWEQ
  1610. DOWGT
  1611. DOWLT
  1612. DOWGE
  1613. DOWLE
  1614. DSPLY
  1615. DUMP
  1616. EDIT
  1617. ELSE
  1618. END
  1619. ENDCS
  1620. ENDDO
  1621. ENDFOR
  1622. ENDIF
  1623. ENDLOOP
  1624. ENDSELECT
  1625. ENDSL
  1626. ENDSR
  1627. ENDSS
  1628. ENDSUBSTR
  1629. ENDUNTIL
  1630. ENDWHILE
  1631. EXCPT
  1632. EXFMT
  1633. EXIT
  1634. EXITBLOCK
  1635. EXITSR
  1636. EXSR
  1637. FEOD
  1638. FOR
  1639. FORCE
  1640. FREE
  1641. GOTO
  1642. IF
  1643. IN
  1644. ITER
  1645. ITERATE
  1646. KEY
  1647. KFLD
  1648. KLIST
  1649. LEAVE
  1650. LOKUP
  1651. LOOKUP
  1652. LOOP
  1653. MHHZO
  1654. MHLZO
  1655. MLHZO
  1656. MLLZO
  1657. MODE
  1658. MOVEx
  1659. MULT
  1660. MULTIPLY
  1661. MVR
  1662. NEXT
  1663. NOT
  1664. OCCUR
  1665. OCUR
  1666. OPEN
  1667. OR
  1668. OTHER
  1669. OUT
  1670. PARM
  1671. PLIST
  1672. POST
  1673. RDCOM
  1674. READ
  1675. READC
  1676. READE
  1677. READP
  1678. READPE
  1679. REDPE
  1680. REL
  1681. RELEASE
  1682. RESET
  1683. RETRN
  1684. RETURN
  1685. RLABL
  1686. ROLBK
  1687. ROLLBACK
  1688. SCAN
  1689. SELEC
  1690. SELECT
  1691. SETGT
  1692. SETLL
  1693. SETOF
  1694. SETOFF
  1695. SETON
  1696. SHTDN
  1697. SQRT
  1698. SUB
  1699. SUBST
  1700. SUBSTR
  1701. SUBTRACT
  1702. TAG
  1703. TESTB
  1704. TESTN
  1705. TESTZ
  1706. TIME
  1707. TRANSLATE
  1708. UNLCK
  1709. UNLOCK
  1710. UNTIL
  1711. UPDAT
  1712. UPDATE
  1713. USE
  1714. WAIT
  1715. WHEN
  1716. WHILE
  1717. WRCOM
  1718. WRITE
  1719. XCAT
  1720. XCATST
  1721. XCATSTR
  1722. XFOOT
  1723. XLATE
  1724. XMOVE
  1725. XSUBST
  1726. XSUBSTR
  1727. XTRANSLATE
  1728. XXLATE
  1729. Z-ADD
  1730. Z-SUB
  1731. :include:
  1732. /INCLUDE
  1733.  
  1734.  
  1735.  
  1736.  
  1737. :pagefeed:
  1738. /EJECT
  1739. endlang nocase full
  1740.  
  1741. ;===========================================================================
  1742.  
  1743. ;
  1744. ; Makefiles
  1745. ;
  1746. ; As defined, this will only highlight comments
  1747. ;
  1748.  
  1749. beginlang Makefile makefile
  1750. abcdefghijklmnopqrstuvwxyz0123456789_
  1751. :comment:
  1752. #
  1753.  
  1754. 0
  1755. :string:
  1756. :block:
  1757. :keyword:
  1758. :include:
  1759. :pagefeed:
  1760. endlang nocase full
  1761.  
  1762. ;===========================================================================
  1763.  
  1764. ; Definition for the ICON language - based on Version 5.
  1765.  
  1766. ; Identifiers are made up of letters, numbers, and underscore.
  1767. ; Comments begin with # and end at end-of-line.
  1768. ; Comments may occur anywhere on a line.
  1769. ; Strings are placed in double quotes and characters are placed in single
  1770. ; quotes.  Both " and ' are escaped by preceding it by a backslash.
  1771. ; The only blocks are the { } pair and procedure - end pair.
  1772. ; ICON is case specific.
  1773.  
  1774. beginlang ICON *.icn
  1775. abcdefghijklmnopqrstuvwxyz0123456789_&
  1776. :comment:
  1777. #
  1778.  
  1779. 0
  1780. :string:
  1781. "
  1782. \
  1783. '
  1784. \
  1785. :block:
  1786. {
  1787. }
  1788. procedure
  1789. end
  1790. :keyword:
  1791. &ascii
  1792. &clock
  1793. &cset
  1794. &date
  1795. &dateline
  1796. &errout
  1797. &fail
  1798. &host
  1799. &input
  1800. &lcase
  1801. &level
  1802. &main
  1803. &null
  1804. &output
  1805. &pos
  1806. &random
  1807. &source
  1808. &subject
  1809. &time
  1810. &trace
  1811. &ucase
  1812. &version
  1813. break
  1814. by
  1815. case
  1816. create
  1817. default
  1818. do
  1819. dynamic
  1820. else
  1821. end
  1822. every
  1823. external
  1824. fail
  1825. global
  1826. if
  1827. initial
  1828. local
  1829. next
  1830. not
  1831. of
  1832. procedure
  1833. record
  1834. repeat
  1835. return
  1836. static
  1837. suspend
  1838. then
  1839. to
  1840. until
  1841. while
  1842. :include:
  1843. :pagefeed:
  1844. endlang case full
  1845.